(function () {
    class Login {
        constructor(isLogin, selector, fn) {
            this.isLogin = isLogin
            this.selector = $(selector)
            this.init()
            this.fn = fn
        }
        init() {
            let isShow = this.isLogin ? 'none' : 'block';
            let buttonText = this.isLogin ? '登录' : '注册';
            //添加对话框DOM
            this.dialog = $(`<div class="dialog">
            <button class="close_btn">&times;</button>
            <div class="input_box">
                <input type="text" placeholder="用户名">
                <input type="password" placeholder="密码">
                <input type="password" placeholder="确认密码" class="again_pwd">
                <button class="btn"></button>
            </div>
        </div>`)

            this.superView.append(this.dialog)

            $('.again_pwd').css('display',isShow)

            //添加关闭事件
                $(".btn").text(buttonText).click(function () {
                    this.dialog.remove(); //清除dialog这个div中所有内容，包括自身
                    this.dialog = null;//垃圾回收处理
                    this.eventListiner();
                    }.bind(this));
                    //单击“关闭”按钮时，清除上面创建的对话框DOM
                    $(".close_btn").click(function ()
                    { this.dialog.remove();
                    this.dialog = null;
                    this.eventListener();
                    }.bind(this));


                    var loginView = null;
                    $(".login").click(function (event)
                    { event.preventDefault();
                    if (!loginView){
                    loginView = new pageTools.Login(true,"body");
                    }
                    });


                    var loginView = null;// 设置变量用于存放对话框DOM
                    function loginRegisterAction(event){
                    event.preventDefault();// 阻止a标签的默认形为
                    // loginView = null
                    if(!loginView){ // 如果对话框没有显示出来
                    var type = event.target.dataset.type;
                    // console.log(type, event);
                    loginView = new pageTools.Login(type == 'login', 'body', function(){
                    loginView = null;
                    })} }
                    function loginRegister(){
                    $('.login').click(loginRegisterAction);
                    $('.register').click(loginRegisterAction);
                    }
                    // 主函数(入口函数)
                    function main(){
                    loginRegister()
                    }
                    main();
        }
    }
})()